# import asyncio
# # # import time
# from unittest.mock import patch

# # async def say_after(delay, what):
# #     await asyncio.sleep(delay)
# #     return f"{what}-{delay}"

# # async def main():
# #     task1 = asyncio.create_task(
# #         say_after(1, "Hello")
# #     )

# #     task2 = asyncio.create_task(
# #         say_after(2, "Hello")
# #     )
# #     print()
# #     ret = await asyncio.gather(task1, task2)
# #     print(type(ret))

# # asyncio.run(main())

# class Connection:
#     def __init__(self, host, port):
#         self.host = host
#         self.port = port

#     async def __aenter__(self):
#         self.conn = await self.get_connection(self.host, self.port)
#         return self.conn
    
#     async def __aexit__(self):
#         await self.conn.close()

#     async def get_connection(self, host, port):
#         pass
        
# async def func():
#     async with Connection("localhost", 9908) as conn:
#         await asyncio.sleep(1)
#         print("done")

# asyncio.run(func())

import langchain
print(langchain.__version__)